Preparativos
# Carga de paquetes
library(dplyr)
library(DT)
library(leaflet)
library(leaflet.extras)
library(leafem)
library(raster)
library(sf)
library(spData)
# Carga de capas de orquídeas
orquideas <-
sf::st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/gbif/orchidaceae-cr-registros.csv",
options = c(
"X_POSSIBLE_NAMES=decimalLongitude",
"Y_POSSIBLE_NAMES=decimalLatitude"
),
quiet = TRUE
)
# Carga de capa de las Áreas Silvestres Protegidas (ASP)
asp <-
sf::st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/sinac/asp/asp-wgs84.geojson",
quiet = TRUE
)
# Asignación de proyecciones
sf::st_crs(asp) = 4326
sf::st_crs(orquideas) = 4326
Limpieza de valores de alta incertidumbre (Mayores a 1000) y valores NA
# Asignar a los valores NA una variable
orquideas$species[orquideas$species == ""] <- "orquideas"
# Conversión de los valores
orquideas <-
orquideas %>%
mutate(coordinateUncertaintyInMeters = as.numeric(coordinateUncertaintyInMeters)) %>%
mutate(eventDate = as.Date(eventDate, "%Y-%m-%d"))
cat("Cantidad original de registros:", nrow(orquideas))
## Cantidad original de registros: 29863
# Limpieza de los valores de alta incertidumbre
orquideas <-
orquideas %>%
filter(!is.na(coordinateUncertaintyInMeters) & coordinateUncertaintyInMeters <= 1000)
cat("Cantidad de registros despues de limpiar los valores de alta incertidumbre:", nrow(orquideas))
## Cantidad de registros despues de limpiar los valores de alta incertidumbre: 677
# Limpieza de los NA en los registros de presencia
orquideas <-
orquideas %>%
filter(species!= "orquideas")
cat("Cantidad de registros despues de limpiar los valores de alta incertidumbre NA:", nrow(orquideas))
## Cantidad de registros despues de limpiar los valores de alta incertidumbre NA: 646
# Limpieza del data asp
asp <-
asp %>%
filter(descripcio!="Area Marina de Manejo" & descripcio!="Area marina protegida")
Mapa de la cantidad de registros por Área Silvestre Protegia (ASP)
Creación de un conjunto de datos con la cantidad de registros por Área Silvestre Protegia
# Creación del conjunto de datos
registros_asp <-
asp %>%
sf::st_make_valid() %>%
sf::st_join(orquideas) %>%
group_by(nombre_asp) %>%
summarize(especies = n())
# Asignación de crs al conjunto
sf::st_crs(registros_asp) = 4326
Asignación de una paleta de colores
# Paleta de colores
colores <-
colorNumeric(palette = "RdPu",
domain = registros_asp$especies,
na.color = "transparent")
Mapeo
# Mapeo
leaflet() %>%
addProviderTiles(providers$Esri.WorldGrayCanvas,
group = "Esri.WorldGrayCanvas") %>%
addTiles(group = "OMS") %>%
addPolygons(
data = registros_asp,
fillColor = ~ colores (registros_asp$especies),
fillOpacity = 1,
stroke = TRUE,
color = "black",
weight = 1,
popup = paste(
paste(
"<strong>Área Silvestre Protegida:</strong>",
registros_asp$nombre_asp
),
paste(
"<strong>Cantidad de orquídeas:</strong>",
registros_asp$especies
),
sep = '<br/>'
),
group = "Cantidad de registros"
) %>%
addLayersControl(baseGroups = c("Esri.WorldGrayCanvas", "OMS"),
overlayGroups = c("Cantidad de registros")) %>%
addSearchOSM() %>%
addMouseCoordinates() %>%
addScaleBar(position = "bottomleft", options = scaleBarOptions(imperial = FALSE)) %>%
addLegend(
position = "bottomleft",
pal = colores,
values = registros_asp$especies,
group = "Cantidad de registros",
title = "Cantidad orquídeas")